1. Field of the Invention
This invention relates to apparatus and methods for efficiently utilizing memory space for storing digital data in predetermined multi-bit length quantities containing fewer bits than word length quantities. In particular, this invention relates to the efficient storage and retrieval of digital data generated by video means.
2. Description of the Prior Art
Integrated circuit chips or dice are manufactured by etching a plurality of circuits on a single large, substantially round substrate wafer made of semiconductor material. The plurality of circuits each of which will later form a chip are arrayed on the wafer in a rectilinear fashion with "streets" between adjacent wafers. At various points in the manufacture of the chips, the uncut partially finished wafers must be precisely aligned for probing, testing and the like.
If this alignment process is automated, more wafers can be tested in a given period of time, and if the alignment is routinely more accurate, the yield of useable chips can be imporved. There has been an effort to achieve these two goals in the prior art. In particular, U.S. Pat. No. 4,385,322, issued to Hubach, et al teaches a method of automatically aligning wafers by digitizing a video signal. This signal is digitized to form 1-bit picture element or "pixels" which correspond to an image consisting of only black and white elements. One-bit pixels make arithmetic operations much simpler, but the image is much more prone to uncertainties due to lighting variances, and the like, than a picture with at least some gray levels. The present invention solves some of the problems attendant with the generation and electronic manipulation of multi-bit pixels.
Computers and the like, can store digitized data in memory means. The data is accessible in word length quantities. Frequently, the data acquired by some external means is a shorter than the word length quantity, that is, it contains fewer bits of data than the number of bits in a word length quantity. One possible source of such external data means is video means. If a video signal has four bits of data per pixel, the resulting pixel will have 16 shades of gray, enough to be suitable for many purposes including aligning semicondutor wafers. The data is stored in the internal memory of the computer, to be later addressed by the computer to be processed. However, the storage of the 4-bit data in the memory means is a problem if the data contains fewer bits of information than the addressable word length of the system, for example, 8 bits per word. There have been two conventional choices; storing one pixel of data per addressable word length quantity, thereby not using a significant portion of the available memory, or stacking the data by software techniques, thereby using a significant portion of the Central Processing Units (CPU'S) time unstacking and shifting the data when it is retrieved.
Where some data may be in word length quantities, e.g., 8 bits per word, other data may be in bit length quantities having fewer bits than word length quantities. For example, binary coded decimal data units (BCD) contain four bits of data. If BCD is used in a system with an addressable word length of greater than four bits, it may be desirable to store several BCD numbers at each addressable space thereby more fully utilizing the available memory space of the system.
When pixel data is acquired by a computer for processing, a conventional system has a dedicated fast memory for pixel acquisition and a slower, less costly, memory for the program data required by the system. As both CPU and memory speeds have increased and memory prices have decreased, this division of memory no longer makes sense. The memory of the system should be one large, fast array that stores the pixel data as well as the system program.
When video data is collected too rapidly for the CPU to generate addresses to store the data, a Direct Memory Access (DMA) is used for video data storage. This requires a DMA address generator to supply the addresses where the data is to be stored. When a video camera is used in conjunction with a computer storage system, it is convenient to synchronize the input from the camera to the computer system by providing timing pulses to the camera. Two counters are normally used for related information: one counter locates the pixel in the image and the other counter generates the address where that same pixel should be stored in memory. It would be desirable to merge the two counting functions necessary for pixel acquisition so that the same counter can be used to generate addresses for the DMA and synchronize the video image from the camera.